[INFO] cloning repository https://github.com/Resonious/cnet
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Resonious/cnet" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FResonious%2Fcnet", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FResonious%2Fcnet'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9c710b4ad38e78ec92b41ad25ec024db5d8cb1bd
[INFO] checking Resonious/cnet against try#72f88fc4e9458f89516a0b8b0868f3718aec5b47 for pr-74989
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FResonious%2Fcnet" "/workspace/builds/worker-0/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Resonious/cnet on toolchain 72f88fc4e9458f89516a0b8b0868f3718aec5b47
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+72f88fc4e9458f89516a0b8b0868f3718aec5b47" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/Resonious/cnet
[INFO] finished tweaking git repo https://github.com/Resonious/cnet
[INFO] tweaked toml for git repo https://github.com/Resonious/cnet written to /workspace/builds/worker-0/source/Cargo.toml
[INFO] crate git repo https://github.com/Resonious/cnet already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+72f88fc4e9458f89516a0b8b0868f3718aec5b47" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] error: the lock file /workspace/builds/worker-0/source/Cargo.lock needs to be updated but --locked was passed to prevent this
[INFO] [stderr] If you want to try to generate the lock file without accessing the network, use the --offline flag.
[INFO] the lockfile is outdated, regenerating it
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+72f88fc4e9458f89516a0b8b0868f3718aec5b47" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+72f88fc4e9458f89516a0b8b0868f3718aec5b47" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+72f88fc4e9458f89516a0b8b0868f3718aec5b47" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] ce76711349a56544254744339feae64023681c91fa2f4abfe2440972c0e6c3fa
[INFO] running `Command { std: "docker" "start" "-a" "ce76711349a56544254744339feae64023681c91fa2f4abfe2440972c0e6c3fa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ce76711349a56544254744339feae64023681c91fa2f4abfe2440972c0e6c3fa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ce76711349a56544254744339feae64023681c91fa2f4abfe2440972c0e6c3fa", kill_on_drop: false }`
[INFO] [stdout] ce76711349a56544254744339feae64023681c91fa2f4abfe2440972c0e6c3fa
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+72f88fc4e9458f89516a0b8b0868f3718aec5b47" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 0f95d6db9989462a611af3bb4cc88ea301c018fd82dfbcfe1a5e5d2a258b262f
[INFO] running `Command { std: "docker" "start" "-a" "0f95d6db9989462a611af3bb4cc88ea301c018fd82dfbcfe1a5e5d2a258b262f", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.21
[INFO] [stderr]    Compiling syn v1.0.40
[INFO] [stderr]    Compiling const_fn v0.4.2
[INFO] [stderr]    Compiling proc-macro-hack v0.5.18
[INFO] [stderr]    Compiling standback v0.2.10
[INFO] [stderr]    Compiling time v0.2.19
[INFO] [stderr]    Compiling quote v1.0.7
[INFO] [stderr]    Compiling time-macros-impl v0.1.1
[INFO] [stderr]     Checking time-macros v0.1.0
[INFO] [stderr]     Checking cnet v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0432]: unresolved import `std::time::duration`
[INFO] [stdout]  --> src/tests.rs:9:16
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::time::duration::Duration;
[INFO] [stdout]   |                ^^^^^^^^ could not find `duration` in `time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::thread;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `size_of`, `zeroed`
[INFO] [stdout]   --> src/main.rs:13:16
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::mem::{zeroed, transmute, size_of};
[INFO] [stdout]    |                ^^^^^^             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::UdpSocket`
[INFO] [stdout]  --> src/tests.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::net::UdpSocket;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IpAddr`, `Ipv4Addr`, `SocketAddr`
[INFO] [stdout]  --> src/tests.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::net::{SocketAddr, IpAddr, Ipv4Addr};
[INFO] [stdout]   |                ^^^^^^^^^^  ^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]  --> src/tests.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::thread;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr`
[INFO] [stdout]  --> src/tests.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::ptr;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str`
[INFO] [stdout]  --> src/tests.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::str;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::mpsc`
[INFO] [stdout]  --> src/tests.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::mpsc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Disconnected`, `Empty`
[INFO] [stdout]  --> src/tests.rs:8:37
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::sync::mpsc::TryRecvError::{Empty, Disconnected};
[INFO] [stdout]   |                                     ^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Packet`, `in_op`, `out_op`
[INFO] [stdout]   --> src/tests.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | use ops::{in_op, out_op, Packet};
[INFO] [stdout]    |           ^^^^^  ^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition
[INFO] [stdout]   --> src/tests.rs:45:1
[INFO] [stdout]    |
[INFO] [stdout] 45 | / macro_rules! create_game(
[INFO] [stdout] 46 | |   ($socket:expr, $host_addr:expr, $name:expr, $packet_id:expr
[INFO] [stdout] 47 | |       => ($packet:ident, $len:ident, $src_addr:ident) $logic:block) => ({
[INFO] [stdout] 48 | |     let mut buf = [0u8; 128];
[INFO] [stdout] ...  |
[INFO] [stdout] 79 | |   });
[INFO] [stdout] 80 | | );
[INFO] [stdout]    | |__^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_macros)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition
[INFO] [stdout]    --> src/tests.rs:82:1
[INFO] [stdout]     |
[INFO] [stdout] 82  | / macro_rules! join_game(
[INFO] [stdout] 83  | |   ($socket:expr, $host_addr:expr, $name:expr, $packet_id:expr
[INFO] [stdout] 84  | |       => ($packet:ident, $len:ident, $src_addr:ident) $logic:block) => ({
[INFO] [stdout] 85  | |     let mut buf = [0u8; 128];
[INFO] [stdout] ...   |
[INFO] [stdout] 107 | |   });
[INFO] [stdout] 108 | | );
[INFO] [stdout]     | |__^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition
[INFO] [stdout]    --> src/tests.rs:110:1
[INFO] [stdout]     |
[INFO] [stdout] 110 | / macro_rules! assert_packet_id(
[INFO] [stdout] 111 | |   ($got:expr, $expected:expr) => (
[INFO] [stdout] 112 | |     assert!($expected == $got, "Packet id mismatch! Expected {}, got {}", $expected, $got);
[INFO] [stdout] 113 | |   );
[INFO] [stdout] 114 | | );
[INFO] [stdout]     | |__^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `std::time::duration`
[INFO] [stdout]  --> src/tests.rs:9:16
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::time::duration::Duration;
[INFO] [stdout]   |                ^^^^^^^^ could not find `duration` in `time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `time::precise_time_ns`: Use `OffsetDateTime::now() - OffsetDateTime::unix_epoch()` to get a `Duration` since a known epoch.
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use time::precise_time_ns;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `size_of`, `zeroed`
[INFO] [stdout]   --> src/main.rs:13:16
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::mem::{zeroed, transmute, size_of};
[INFO] [stdout]    |                ^^^^^^             ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `time::precise_time_ns`: Use `OffsetDateTime::now() - OffsetDateTime::unix_epoch()` to get a `Duration` since a known epoch.
[INFO] [stdout]   --> src/main.rs:37:32
[INFO] [stdout]    |
[INFO] [stdout] 37 |       last_received_packet_at: precise_time_ns()
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]  --> src/ops.rs:2:36
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::mem::{size_of, transmute, uninitialized};
[INFO] [stdout]   |                                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/ops.rs:46:26
[INFO] [stdout]    |
[INFO] [stdout] 46 |       let mut value: T = uninitialized();
[INFO] [stdout]    |                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `time::precise_time_ns`: Use `OffsetDateTime::now() - OffsetDateTime::unix_epoch()` to get a `Duration` since a known epoch.
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use time::precise_time_ns;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `time::precise_time_ns`: Use `OffsetDateTime::now() - OffsetDateTime::unix_epoch()` to get a `Duration` since a known epoch.
[INFO] [stdout]   --> src/main.rs:37:32
[INFO] [stdout]    |
[INFO] [stdout] 37 |       last_received_packet_at: precise_time_ns()
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]  --> src/ops.rs:2:36
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::mem::{size_of, transmute, uninitialized};
[INFO] [stdout]   |                                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/ops.rs:46:26
[INFO] [stdout]    |
[INFO] [stdout] 46 |       let mut value: T = uninitialized();
[INFO] [stdout]    |                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::thread::sleep_ms`: replaced by `std::thread::sleep`
[INFO] [stdout]   --> src/testing.rs:7:9
[INFO] [stdout]    |
[INFO] [stdout] 7  |           thread::sleep_ms(100);
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/tests.rs:15:3
[INFO] [stdout]    |
[INFO] [stdout] 15 | /   server_test!((socket, host_addr) {
[INFO] [stdout] 16 | |     let mut buf = [0u8; 256];
[INFO] [stdout] 17 | |     buf[0] = 90;
[INFO] [stdout] 18 | |     socket.send_to(&buf, host_addr).unwrap();
[INFO] [stdout] 19 | |   });
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::thread::sleep_ms`: replaced by `std::thread::sleep`
[INFO] [stdout]   --> src/testing.rs:7:9
[INFO] [stdout]    |
[INFO] [stdout] 7  |           thread::sleep_ms(100);
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/tests.rs:24:3
[INFO] [stdout]    |
[INFO] [stdout] 24 | /   server_test!((socket, host_addr) {
[INFO] [stdout] 25 | |     let buf = [1u8];
[INFO] [stdout] 26 | |     socket.send_to(&buf, host_addr).unwrap();
[INFO] [stdout] 27 | |
[INFO] [stdout] ...  |
[INFO] [stdout] 41 | |     println!("Ping took {} ms!", ms.num_milliseconds());
[INFO] [stdout] 42 | |   });
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::thread::sleep_ms`: replaced by `std::thread::sleep`
[INFO] [stdout]    --> src/testing.rs:7:9
[INFO] [stdout]     |
[INFO] [stdout] 7   |           thread::sleep_ms(100);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/tests.rs:118:3
[INFO] [stdout]     |
[INFO] [stdout] 118 | /   server_test!((socket, host_addr) {
[INFO] [stdout] 119 | |     create_game!(socket, host_addr, b"Stupid game" => (packet, len, _src_addr) {
[INFO] [stdout] 120 | |       assert_eq!(packet[0], 0);
[INFO] [stdout] 121 | |       assert_eq!(packet[1], 0);
[INFO] [stdout] ...   |
[INFO] [stdout] 145 | |     });
[INFO] [stdout] 146 | |   });
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::thread::sleep_ms`: replaced by `std::thread::sleep`
[INFO] [stdout]    --> src/testing.rs:7:9
[INFO] [stdout]     |
[INFO] [stdout] 7   |           thread::sleep_ms(100);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/tests.rs:151:3
[INFO] [stdout]     |
[INFO] [stdout] 151 | /   server_test!((socket, host_addr) {
[INFO] [stdout] 152 | |     create_game!(socket, host_addr, b"THE GAME", 12 => (buf, len, _src_addr) {
[INFO] [stdout] 153 | |       let mut packet = Packet::new(buf);
[INFO] [stdout] 154 | |       let packet_id: u16 = packet.pull();
[INFO] [stdout] ...   |
[INFO] [stdout] 161 | |     });
[INFO] [stdout] 162 | |   });
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::thread::sleep_ms`: replaced by `std::thread::sleep`
[INFO] [stdout]    --> src/testing.rs:7:9
[INFO] [stdout]     |
[INFO] [stdout] 7   |           thread::sleep_ms(100);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/tests.rs:167:3
[INFO] [stdout]     |
[INFO] [stdout] 167 | /   server_test!((socket, host_addr) {
[INFO] [stdout] 168 | |     let mut host_player_id: u16 = 0;
[INFO] [stdout] 169 | |
[INFO] [stdout] 170 | |     create_game!(socket, host_addr, b"join me link", 13 => (buf, _len, _src_addr) {
[INFO] [stdout] ...   |
[INFO] [stdout] 188 | |     });
[INFO] [stdout] 189 | |   });
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:290:47
[INFO] [stdout]     |
[INFO] [stdout] 290 |   operations[in_op::NEW_GAME as usize] = Some(&create_game);
[INFO] [stdout]     |                                               ^^^^^^^^^^^^ expected fn pointer, found reference
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected fn pointer `for<'r, 's, 't0, 't1, 't2> fn(&'r mut Server<'s>, &'t0 mut PacketInfo<'t1, 't2>)`
[INFO] [stdout]                 found reference `&for<'r, 's, 't0, 't1, 't2> fn(&'r mut Server<'s>, &'t0 mut PacketInfo<'t1, 't2>) {create_game}`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:291:48
[INFO] [stdout]     |
[INFO] [stdout] 291 |   operations[in_op::JOIN_GAME as usize] = Some(&join_game);
[INFO] [stdout]     |                                                ^^^^^^^^^^ expected fn pointer, found reference
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected fn pointer `for<'r, 's, 't0, 't1, 't2> fn(&'r mut Server<'s>, &'t0 mut PacketInfo<'t1, 't2>)`
[INFO] [stdout]                 found reference `&for<'r, 's, 't0, 't1, 't2> fn(&'r mut Server<'s>, &'t0 mut PacketInfo<'t1, 't2>) {join_game}`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:290:47
[INFO] [stdout]     |
[INFO] [stdout] 290 |   operations[in_op::NEW_GAME as usize] = Some(&create_game);
[INFO] [stdout]     |                                               ^^^^^^^^^^^^ expected fn pointer, found reference
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected fn pointer `for<'r, 's, 't0, 't1, 't2> fn(&'r mut Server<'s>, &'t0 mut PacketInfo<'t1, 't2>)`
[INFO] [stdout]                 found reference `&for<'r, 's, 't0, 't1, 't2> fn(&'r mut Server<'s>, &'t0 mut PacketInfo<'t1, 't2>) {create_game}`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:291:48
[INFO] [stdout]     |
[INFO] [stdout] 291 |   operations[in_op::JOIN_GAME as usize] = Some(&join_game);
[INFO] [stdout]     |                                                ^^^^^^^^^^ expected fn pointer, found reference
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected fn pointer `for<'r, 's, 't0, 't1, 't2> fn(&'r mut Server<'s>, &'t0 mut PacketInfo<'t1, 't2>)`
[INFO] [stdout]                 found reference `&for<'r, 's, 't0, 't1, 't2> fn(&'r mut Server<'s>, &'t0 mut PacketInfo<'t1, 't2>) {join_game}`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors; 17 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0308, E0432.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `cnet`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: aborting due to 3 previous errors; 10 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0308, E0432.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stderr] error: build failed
[INFO] running `Command { std: "docker" "inspect" "0f95d6db9989462a611af3bb4cc88ea301c018fd82dfbcfe1a5e5d2a258b262f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0f95d6db9989462a611af3bb4cc88ea301c018fd82dfbcfe1a5e5d2a258b262f", kill_on_drop: false }`
[INFO] [stdout] 0f95d6db9989462a611af3bb4cc88ea301c018fd82dfbcfe1a5e5d2a258b262f
